//
// Created by wkm on 2023-12-08.
//
#include "pulse.h"

int sc_main(int argc, char *arc[]) {
    sc_signal<bool> pout;
    sc_trace_file *tf;
    sc_clock clock("master_clk", 5, SC_NS);

    // pulse模块的实例引用
    pulse p1("pulse_p1");
    p1.clk(clock);
    p1.pulse_out(pout);

    // 创建仿真波形记录文件pulse.vcd，并设置需要记录波形的信号
    tf = sc_create_vcd_trace_file("pulse");
    sc_trace(tf, clock, "clock");
    sc_trace(tf, pout, "pulse_out");

    sc_start(100, SC_NS);
    sc_close_vcd_trace_file(tf);
    cout << "Finished at time " << sc_time_stamp() << endl;
    return 0;
}